Agile software development refers to software development methodologies in which software is developed incrementally in steps referred to as iterations. Iterations typically are measured in weeks and may vary in length from one week or less to one month or more. Examples of agile software development methodologies include Scrum, Extreme Programming (XP), Crystal, Lean Development, AgileUP, and Dynamic Systems Development Method (DSDM). Agile software development methods also have been referred to as lightweight methods. Methodologies may have their own vocabulary. For example, an iteration may be referred to as a sprint or a timebox, depending on the methodology. Agile software development is distinguishable from the “waterfall” model of sequential software development.
Software for implementing agile development methodologies and for tracking and reporting on projects that use agile methodologies can help developers to realize fully the benefits, such as flexibility and rapid cycle times, offered by these methodologies. Accordingly, there is a need for robust agile development management software that is convenient to use.
More generally, regardless of the project management methodology being used, project managers may desire to use historical data regarding rates of work completion to perform accurate forecasting and may desire to rapidly evaluate different project scheduling scenarios. Accordingly, there is a need for project management software that allows for data-driven, on-the-fly project schedule forecasting.